/**
 *@category 
 *@author 邱磊
 *@date 2015年11月13日 下午1:14:49
 */
package com.hsnn.medstgmini.sys.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.sys.dao.SysImportFileInfoDao;
import com.hsnn.medstgmini.sys.model.SysImportFileInfo;
import com.hsnn.medstgmini.sys.model.form.SysImportFileInfoForm;
import com.hsnn.medstgmini.sys.service.SysImportFileInfoManager;
import com.hsnn.medstgmini.util.ConstantsUtil;
import com.hsnn.medstgmini.util.Pagination;
import com.hsnn.medstgmini.util.ParseDate;
import com.hsnn.medstgmini.util.ParseNumber;

/**
 *@category 
 *@author 邱磊
 *@date 2015年11月13日 下午1:14:49
 *@param 
 */
@Service
public class SysImportFileInfoManagerImpl implements SysImportFileInfoManager {
	@Autowired
	private SysImportFileInfoDao dao;

	/**
	 * 
	 *@category 新增文件上传记录
	 *@author 邱磊
	 *@date 2015年11月13日 下午1:19:22
	 *@param
	 */
	public void addImportFile(SysImportFileInfoForm form){
		dao.addImportFile(form);
	}
	/**
	 * 
	 *@category 获取文件列表数据
	 *@author 邱磊
	 *@date 2015年11月13日 下午2:02:14
	 *@param 
	 *@return Pagination
	 */
	@SuppressWarnings("unchecked")
	public Pagination getImportFileDataList(Pagination page){
		page = dao.getImportFileDataList(page);
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("status", ConstantsUtil.importFileStatus(map.get("status").toString()));
				map.put("upTime", ParseDate.parseFullFormat(ParseDate.fromFullFormat(map.get("upTime").toString())));
			}
		}
		page.setRows(list);
		return page;
	}
	/**
	 * 
	 *@category 根据文件ID更新文件状态
	 *@author 邱磊
	 *@date 2015年11月13日 下午2:35:44
	 *@param 
	 *@return void
	 */
	public void updateImportFileStatus(int status,String fileId){
		dao.updateImportFileStatus(status, fileId);
	}
	/**
	 * 
	 *@category 根据文件ID获取文件信息
	 *@author 邱磊
	 *@date 2015年11月13日 下午2:44:24
	 *@param 
	 *@return Map<String,Object>
	 */
	public SysImportFileInfo getImportFileById(String fileId){
		Map<String, Object> map = dao.getImportFileById(fileId);
		if (null != map){
			SysImportFileInfo info = new SysImportFileInfo();
			info.setId(map.get("id")==null?"":map.get("id").toString());
			info.setFileName(map.get("file_name")==null?"":map.get("file_name").toString());
			info.setFileOrginalName(map.get("file_orginal_name")==null?"":map.get("file_orginal_name").toString());
			info.setProjId(map.get("proj_id")==null?"":map.get("proj_id").toString());
			info.setFileType(map.get("file_type")==null?null:ParseNumber.toInteger(map.get("file_type").toString()));
			info.setUserId(map.get("user_id")==null?"":map.get("user_id").toString());
			info.setUploadDatetime(map.get("upload_datetime")==null?null:ParseDate.fromFullFormat(map.get("upload_datetime").toString()));
			info.setFilePath(map.get("file_path")==null?"":map.get("file_path").toString());
			info.setCheckFilePath(map.get("check_file_path")==null?"":map.get("check_file_path").toString());
			info.setStatus(map.get("status")==null?null:ParseNumber.toInteger(map.get("status").toString()));
			info.setUpdUser(map.get("upd_user")==null?"":map.get("upd_user").toString());
			info.setUpdDatetime(map.get("upd_datetime")==null?null:ParseDate.fromFullFormat(map.get("upd_datetime").toString()));
			return info;
		}
		return null;
	}
}

